#!/usr/bin/env python

Import("env")

from platform_methods import run_in_subprocess
import main_builders

env.main_sources = []

env.add_source_files(env.main_sources, "*.cpp")

# Order matters here. Higher index controller database files write on top of lower index database files.
controller_databases = ["gamecontrollerdb.txt", "godotcontrollerdb.txt"]

gensource = env.CommandNoCache(
    "default_controller_mappings.gen.cpp",
    controller_databases,
    run_in_subprocess(main_builders.make_default_controller_mappings),
)

env.add_source_files(env.main_sources, gensource)

env.Depends("#main/splash.gen.h", "#main/splash.png")
env.CommandNoCache("#main/splash.gen.h", "#main/splash.png", run_in_subprocess(main_builders.make_splash))

if env["tools"] and not env["no_editor_splash"]:
    env.Depends("#main/splash_editor.gen.h", "#main/splash_editor.png")
    env.CommandNoCache(
        "#main/splash_editor.gen.h", "#main/splash_editor.png", run_in_subprocess(main_builders.make_splash_editor)
    )

env.Depends("#main/app_icon.gen.h", "#main/app_icon.png")
env.CommandNoCache("#main/app_icon.gen.h", "#main/app_icon.png", run_in_subprocess(main_builders.make_app_icon))

if env["tools"]:
    SConscript("tests/SCsub")

lib = env.add_library("main", env.main_sources)
env.Prepend(LIBS=[lib])
